package com.cy.mall.model.vo.order;

import com.cy.mall.model.enums.order.OrderFinalStatusE;
import com.cy.mall.model.enums.order.RepayType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description 前台-订单详情
 * @Author tanyilin
 * @Date 2019/3/14 15:55
 */
@Data
@ApiModel("前台-订单详情")
public class OrderDetailVO {

    @ApiModelProperty(value = "订单ID", example = "0")
    private Long orderId;

    @ApiModelProperty(value = "云科订单ID")
    private String loanId;

    @ApiModelProperty(value = "产品ID", example = "0")
    private Long productId;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "订单产品类型")
    private String orderProductType;

    @ApiModelProperty(value = "申请金额", example = "0.00")
    private BigDecimal applyAmount;

    @ApiModelProperty(value = "申请期数", example = "0")
    private Integer applyPeriods;

    @ApiModelProperty(value = "授信金额", example = "0.00")
    private BigDecimal decisionAmount;

    @ApiModelProperty(value = "放款金额", example = "0.00")
    private BigDecimal loanAmount;

    @ApiModelProperty(value = "放款期限", example = "1")
    private Integer periods;

    @ApiModelProperty(value = "利率", example = "0.00")
    private BigDecimal rate;

    @ApiModelProperty(value = "还款方式")
    private RepayType repayType;

    @ApiModelProperty(value = "申请时间")
    private Date createTime;

    @ApiModelProperty(value = "授信时间")
    private Date decisionTime;

    @ApiModelProperty(value = "放款时间")
    private String loanTime;

    @ApiModelProperty(value = "每月还款日")
    private String monthlyRepayDate;

    @ApiModelProperty(value = "服务费率字符串")
    private String feeRate;

    @ApiModelProperty(value = "管理费率字符串")
    private String percentage;

    @ApiModelProperty(value = "服务费率", example = "0.00")
    private BigDecimal feeRateBd;

    @ApiModelProperty(value = "管理费率", example = "0.00")
    private BigDecimal percentageBd;

    @ApiModelProperty(value = "订单最终状态")
    private OrderFinalStatusE finalStatus;

    @ApiModelProperty(value = "订单最终状态文案")
    private String finalStatusText;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "门店名称")
    private String storeName;

    @ApiModelProperty(value = "商品总额", example = "0.00")
    private BigDecimal goodsAmount;

    @ApiModelProperty(value = "收货地址")
    private String receiveAddress;

    @ApiModelProperty(value = "购买证明图片数组")
    private List<OrderImageListVO> purchaseProofList;

    @ApiModelProperty(value = "收款卡银行名称")
    private String bankName;

    @ApiModelProperty(value = "收款卡账户")
    private String bankReceiveAcct;
}
